There are many kinds of networks that can be used to couple computers together for data communication. For example, a simple local area network (LAN), such as Novell® network or Appleshare® network can be used to couple together the personal computer in an office. Often, one or more network “servers” or “hosts” will influence data flow within the network and access to certain network functions such as a central file repository, printer functions, Internet gateways, etc. Other local area networks operate on a peer-to-peer basis without the use of servers.
A wide area network (WAN) is sometimes referred to as a “networks of networks.” The Internet is a WAN that has, of late, become extremely popular. The origins of the Internet date back several decades to a government-sponsored military/business/research WAN that was designed to remain operational even in the event of a catastrophic loss of a large portion of the network. To accomplish this goal, robust protocols and systems were developed, which allowed a geographically distributed collection of computer systems to be connected by means of a network that would remain operational even if a large portion of the network were destroyed.
While the use of Internet has been prevalent for many years now, its use has been limited by the arcane and often difficult commands required to access the various resources of the network. To address this problem, a protocol known as the “World Wide Web” or “WWW” was developed to provide an easier and more user-friendly interface to the Internet. With the World Wide Web, an entity having a domain name creates a “web page” or simply “page” which can provide information and, to ever greater extent, some interactivity with the web page.
The Internet is based upon a transmission protocol known as “Transmission Control Protocol/Internet Protocol” (or “TCP/IP” for short), which sends packets of data between a host machine, e.g. a server computer on the Internet, and a client machine, e.g. a user's personal computer connected to the Internet. The WWW is an Internet interface protocol which is supported by the same TCP/IP transmission protocol. Intranets are private networks based on the Internet standards, and have become quite common for managing information and communication within an organization. Intranets, since they subscribe to Internet standards, can use the same web browser and web server software as used on the Internet. Internets are, in many cases, supplementing or replacing traditional local area network protocols.
Most, if not all, of the data communication links between the various machines of most networks area hard-wired. That is, client machines are typically coupled to a server and to other client machines by wires (such as twisted-pair wires), coaxial cables, fiber optic cables and the like. In some instances, some of the communication links can be wireless communication links such as microwave links, radio frequency (r.f.) links, etc., but this tends to be rare with most LANs.
The majority of so-called wireless networks are radio modems for data communication, although there are some IR networks available that work over very short distances, such as within a single large room. However networks spanning larger areas will predominately use radio modems. GRE America, Inc of Belmont, Calif. sells a number of spread-spectrum modems that can be used for the transmission of digitally encoded information. A number of wireless network services such as Ricochet® network services (Ricochet is a subsidiary of Metrocom, Inc of Los Gatos, Calif.) combine a radio modem with a portable personal computer to allow the personal computer to connect to the Internet. The Ricochet system operates by providing a large number of r.f. data transceivers within a given geographic area, that is often attached to telephone poles, and that are coupled to centralized server that serves as a gateway to the Internet.
The assumption made by the Ricochet system designers is that a given radio modem coupled to portable computer will be in radio contact with one, and only one transceiver of the network. A data “packet” sent by portable computer via the radio modem will be received by the transceiver and broadcast through the Ricochet network until it reaches a Wide Area Processor or WAP, where it is transmitted by twisted pair over the internet to a Ricochet server connected to the Internet. Packets destined for a particular personal computer are received by the server of the Ricochet system, and are transmitted from each of the transceivers with the expectation that the radio modem of the destination portable computer will receive the data packets from one of those transceivers.
It should be noted that wireless communication systems such as Ricochet system exhibit a number of drawbacks. For one, if the radio modem of the personal computer is not within transmission range of one of the transceivers of the Ricochet network, a connection cannot be made to the network. Furthermore, the Ricochet network can create a great deal of “packet duplication” or “pollution” as copies of a particular data packet are multiply repeated, rather than routed. This packet duplication can also occur if a radio modem of a particular personal computer is radio transmission range of two or more transceivers can each receive the data packets, and each proliferates copies of the data packet across the Ricochet network. While duplicate packets are ultimately discarded, such duplicate packets increase data congestion in the network and increases the work that must be performed by the server. In addition, since data packets are transmitted from all the transceivers of the Ricochet network, there may be packet duplication at the personal computer if it is in contact with more than one transceiver of the Ricochet network, and the bandwidth available from each transceiver is reduced since each transceiver is transceiving each client-destined data packet on the network. Also, since the data is transmitted to the Internet over twisted pair, there is a 28.8K baud bottleneck in the system, resulting in average system performance of even less than 28.8K baud. It is therefore apparent that prior art wireless networks of the Ricochet network type lack robustness (i.e. the ability to maintain communication with the network under adverse conditions) and exhibit a number of inefficiencies such as data packet proliferation.
Cellular telephone system operates using a number of transceivers, where each transceiver occupies a “cell.” As a mobile telephone moves from one cell to another, an elaborate and expensive land-based system causes the mobile telephone to “handed-off” from the cell that it was previously in to the cell that is entering. As noted, the equipment and system used for the hand-off is expensive and, further, such hand-off sometimes fail, dropping the telephone connection. Furthermore, individual radios at a given cell can handle only one call at the time, which is inadequate for many computer network systems.
Amateur radio (“Ham”) operators have developed a peer-to-peer digital repeater system referred to as the AX.25 protocol. With this protocol, each peer repeats all data packets that it receives, resulting in rapid packet proliferation. In fact, with this protocol, so many packet collisions occur among the peers that the packets may never reach the intended peer.
Lastly there is abundant reporting in the literature, but it cannot be substantiated, that the U.S. Military has a wireless communication system which allows digital information to be transmitted in a more robust and efficient manner. More specifically, it is suspected that the U.S. Military has a system in which digital data can follow multiple paths to a server that may include one or more clients of the network. However, source code listings, or source code machine-readable form of these U.S. Military systems remains secret and unavailable to the public. Some of the literature pertaining to this U.S. Military technology is summarized below.
“Packet Radios Provide Link for Distributed Survivable Command Control Communications in Post-Attack Scenarious”, M. Frankel, Microwave Systems News 13:6 (June, 1983) pp 80-108, discusses the SURAN (Survivable Radio Network) project and its relation to overall command and control communications (C3) development.
“Congestion Control Using Pacing in a Packet Radio Network”, N. Goweer and J. Jubin, Proceedings of Milcom 82, (New York: IEEE Press, 1985), pp. 23.1-23.6, describes a technique for pacing flow control used in the DARPA packet radio project.
“Current Packet Radio Network Protocols”, J. Jubin, Proceedings of Infocom 85 (New York: IEEE Press, 1985), pp 86-92, is a systematic view of the various protocols currently used in the DARPA packet radio network. The article includes a discussion of packing, route calculation, maintenance of route and connectivity tables, acknowledgement schemes, and other mechanisms. The article also provides a discussion on how the various protocols interrelate and reinforce each other.
“The Organization of Computer Resources into a Packet Radio Network”, R. Kahn, IEEE Transactions on Communications COM-25.1 (January 1997), pp 169-178, is a prospectus for the second generation of the DARPA radio project. This lead to the development of the DARPA Bay Area Packet Radio experimental work in the mid to late 1970's.
“Advances in Packet Radio Technology”, R. Kahn, S. Gronemeyer, J. Burchfiel, R. Kunzelman, Proceedings of the IEEE 66z:11 (November 1978), pp1468-1496 is a survey of packet radio technology in the second generation of the DARPA packet radio project.
“Survivable Protocols for Large Scale Packet Radio Networks”, G. Lauer, J. Wescott, J. Jubin, J. Tornow, IEEE Global Telecommunications Conference, 1984, held in Atlanta, Ga., November 1984 (New York: IEEE Press, 1984) p. 468-471, describes the SURAN network with an emphasis on network organizations and management protocols.
“Multiple Control Stations in Packet Radio Networks,” W. MacgGegor, J. Wescott, M. Beeler, Proceedings of Milcom 82 (New York: IEEE Press, 1982) pp. 10.3-5, is a transitional paper that describes design considerations involved in converting the DARPA packet radio network from single to multistation operation while eliminating the additional step to a fully hierarchical design. It focuses on the self-organizing techniques that are necessary in the multistation environment.
“Future Directions in Packet Radio Technology”, N Shacham, J. Turnow, Proceedings of IEEE Infocom 85 (New York: IEEE Press, 1985), pp. 93-98, discuss new research areas in packet radio, with some references to SURAN developments.
“Issues in Distributed Routing for Mobile Packet Radio Networks”, J. Westcott, IEEE Global Telecommunications Conference, 1982 (new York: IEEE Press 1982, pp 233-238, studies the issues involved in the DARPA packet radio network, prior to availability of signal strength sensing from the radio receivers as a hardware capability on which to build. The paper describes issues that must be considered in evaluating the usability of an RF link and gives details of the alternate route mechanism used in the DARPA system to smooth temporary RF propagation problems that appear in a mobile node environment.
“A Distributed Routing Design for a Broadcast Environment”, J. Westcott, J. Jubin, Proceedings of Milcom 82 (New York IEEE Press, 1982), pp 10.4-1-10.4.5, is a detailed study of the problems involved in connectivity and routing table management in stationless packet radio, including a discussion of algorithms—proposed for the DARPA packet radio network.
There is, therefore, a great deal of literature describing packet radio systems. The prior art does not disclose, however, a packet-based wireless computer network that is both robust and efficient, wherein each client of the network can be efficiently and effectively in communication with a multiplicity of other clients and servers of the network, greatly multiplying the number of link choices available and, if conditions change, or if a better link to a server becomes known to a client, where the link for a client can be updated and improved.
The present invention includes a wireless network system which is particularly well adapted for connections to a wide area network such as an Intranet or the Internet. The wireless network system includes one or more servers which are coupled to the wide area network, and two or more clients capable of communicating with the server or with each other via radio modems. The communication in the wireless network system preferably takes the form of digital data packets, which are not too dissimilar from the TCP/IP data packets used over the Internet. However, the data packets of the present invention also include data routing information concerning the path or “Link” from the source of the packet to the destination of the packet within the wireless network. The data packets include a code indicating the type of packet being sent.
In operation, a client of the wireless network system of the present invention has either a direct or an indirect path to a server of the wireless network system. When in direct communication with the server, the client is said to be “1 hop” from the server. If the client cannot reliably communicate directly with the server, the client will communicate with a “neighbor” client which has its own path (“link”) to the server. Therefore, a client can communicate with the server along a link that includes one or more other clients. If a client communicates with the server through one other client, it is said to be “2hops” from the server, if the client communicates to the server through a series of two other clients, it is said to be “3hops” from the server, etc. The process of the present invention preferably includes an optimization process which minimizes the number of hops from the clients to the servers, on the theory that the fewer he number of hops, the better the performance of the network. Alternatively, the optimization process can also factor in traffic and transmission reliability of various links to determine the optimal path to the server.
A wireless network system in accordance with the present invention includes at least one server having controller and a server radio modem, and a plurality of clients each including a client controller and a client radio modem. The server controller implements a server process that includes the controlling the server radio modem for the receipt and transmission of data packets from clients of the network. The client controller implements a client process including the transmission and receipt of data packets from the server and from other clients. Preferably, the client process of each of the clients initiates, selects, and maintains a radio transmission path (“link”) to the server. As noted previously, this radio transmission path to the server is either a direct path to the server (1 hop) or an indirect path to the server (multi-hop) through one or more clients. Preferably, the client process of a particular client also constantly searches for improved paths to the server.
A method for providing wireless network communication in accordance with the present invention includes providing a server implementing a server process, and providing a server implementing a server process, and providing a plurality of clients, each client implementing a client process. The server process includes receiving data packets via server radio modem, sending data packets via the server radio modem, performing a “gateway” function to another network, and performing housekeeping functions. The client process includes the sending and receiving of data packets via a client radio modem, maintaining a send/receive data buffer in digital memory, and selecting links to the server. Again, the client process preferably chooses a “best” link to the server that is either a direct path or an indirect path through one or more other clients.
The server of the present invention provides a gateway between two networks, where at least one of the networks is a wireless network. The gateway function of the server makes any necessary translations in digital packets being sent from one network to the other network. The server includes a radio modem capable of communicating with a first, wireless network of the present invention, a network interface capable of communicating with the second network (which may or may not be wireless and, in fact, is preferably a wired TCP/IP protocol network), and a digital controller coupled to the radio modem and to the network interface. The digital controller passes data packets received from the first network that are destined for the second network to the second network, and passes data packets received from the second network that are destined for the first network to the first network, after performing any necessary translations to the data packets. The digital controller further maintains a map of the links of the first network and provides a map to the first network clients on request. By maintaining a map of the first network links, the server is able to properly address packets received from either the first network of the second network to the appropriate client of the first network, and allows the client of the network to maintain and upgrade their data communication paths to the server.
A network client for a wireless communication network of the present invention includes a radio modem capable of communicating with at least one server and at least one additional client, and a digital controller coupled to the radio modem to control the sending and receiving of data packets. The digital controller is further operative to determine an optimal path to at least one server of wireless network. The optimal path can be either a direct path to the server or an indirect path to the server through at least one additional client.
The method, apparatus, and system of the present invention therefore provide a wireless network that is both robust and efficient. Since each client of the network can potentially be in communication with a multiplicity of other clients and servers of the network, there are a great number of link choices available. If conditions change, or if a better link becomes known to a client, the link can be updated and improved.
These and other advantages of the present invention will become apparent upon reading the following detailed description and studying the various figures and drawings.